COMET: Code Offload by Migrating Execution Transparently
نویسندگان
چکیده
In this paper we introduce a runtime system to allow unmodified multi-threaded applications to use multiple machines. The system allows threads to migrate freely between machines depending on the workload. Our prototype, COMET (Code Offload by Migrating Execution Transparently), is a realization of this design built on top of the Dalvik Virtual Machine. COMET leverages the underlying memory model of our runtime to implement distributed shared memory (DSM) with as few interactions between machines as possible. Making use of a new VM-synchronization primitive, COMET imposes little restriction on when migration can occur. Additionally, enough information is maintained so one machine may resume computation after a network failure. We target our efforts towards augmenting smartphones or tablets with machines available in the network. We demonstrate the effectiveness of COMET on several real applications available on Google Play. These applications include image editors, turn-based games, a trip planner, and math tools. Utilizing a server-class machine, COMET can offer significant speed-ups on these real applications when run on a modern smartphone. With WiFi and 3G networks, we observe geometric mean speed-ups of 2.88X and 1.27X relative to the Dalvik interpreter across the set of applications with speed-ups as high as 15X on some applications.
منابع مشابه
Serialization of Distributed Execution-State in Java
In this paper we present a mechanism for serializing the execution-state of a distributed Java application that is implemented on a conventional Object Request Broker (ORB) architecture such as Java Remote Method Invocation (RMI). To support capturing and reestablishment of distributed execution-state, we developed a byte code transformer that adds this functionality to a Java application by ex...
متن کاملRun-time Repartitioning of Distributed Java Applications
In this paper we present a mechanism for serializing the execution state of a distributed Java application that is programmed by means of an Object Request Broker such as Java RMI. To support capturing and reestablishment of distributed execution state, we developed a byte code transformer that adds this functionality to a Java application by extracting execution state from the application code...
متن کاملSerialization of a Distributed Execution-state in Java
In this paper we present a mechanism for serializing the executionstate of a distributed Java application that is programmed by means of an Object Request Broker such as Java RMI. To support capturing and reestablishment of distributed execution-state, we developed a byte code transformer that adds this functionality to a Java application by extracting execution-state from the application code....
متن کاملMigrating Android Applications to the Cloud
Recently, smartphone technologies have evolved quickly and offered end users the computing power and networking capabilities required to perform useful network and multimedia applications. However, due to limited physical sizes and battery capacities, the current generation of smartphones cannot yet fulfill the requirements of sophisticated applications of which personal computers are capable. ...
متن کاملEnhancing Mobile Devices through Code Offload
Enhancing Mobile Devices through Code Offload
متن کامل